import { fontFamilyList } from './font'
// 画布id
export const canvasId = 'c-editor-canvas'
// 业务组件type
export const analysisComponentTypes = {
  myAnalysis: 'myAnalysis',
  commonAnalysis: 'commonAnalysis',
}
// 触发业务组件更新的更新方式
export const analysisComponentUpdateTypes = {
  filterComponent: 'filterComponent', // 过滤组件导致的更新
  linkage: 'linkage', // 触发联动设置导致的更新
  title: 'title', // 修改title引起的更新
}

// 过滤组件type
export const fliterComponentTypes = {
  select: 'select',
  date: 'date', // 日期
  dateArray: 'dateArray', // 日期范围
  button: 'button',
}

// 按钮类型
export const buttonTypeOptions = [
  {
    label: '默认',
    value: 'default',
  },
  {
    label: '主要',
    value: 'primary',
  },
  {
    label: '危险',
    value: 'danger',
  },
  {
    label: '虚线',
    value: 'dashed',
  },
]

export const mouseStatus = {
  DEFAULT: 'default', // 默认状态
  ADD_DRAG: 'addDrag', // 拖拽左侧组件,准备往画布中新增组件
  ZOOM: 'move', // 拖动组件point-zoom
  DRAG: 'drag', // 拖动组件drag-wrap
}
// 背景重复
export const backgroundRepeatOptions = [
  {
    label: '重复',
    value: 'repeat',
  },
  {
    label: '水平方向重复',
    value: 'repeat-x',
  },
  {
    label: '竖直方向重复',
    value: 'repeat-y',
  },
  {
    label: '不重复',
    value: 'no-repeat',
  },
  {
    label: '继承父元素',
    value: 'inherit',
  },
]

// 默认背景属性
export const defaultBackgroundAttr = {
  backgroundColor: { color: ['#ffffff'], angle: 0, opacity: 1 },
  backgroundImage: '',
  backgroundSize: '100% 100%',
  backgroundPosition: 'center center',
  backgroundRepeat: 'repeat',
}

// 默认边框属性
export const defaultBorderAttr = {
  borderColor: '#333333',
  borderWidth: 1,
  borderStyle: 'solid',
  borderWidthUnit: 'px',
}

// 默认圆角属性
export const defaultBorderRadiusAttr = {
  borderRadius: 0,
  borderRadiusUnit: 'px',
}

// 默认文字属性
export const defaultFontAttr = {
  fontSize: 14,
  fontWeight: 500,
  lineHeight: 22,
  // lineHeightUnit: "px",
  textAlign: 'left',
  color: '#333333',
}

// 默认全局标题样式属性
export const defaultTitleAttr = {
  fontSize: undefined,
  isBold: false,
  isTilt: false, // 是否倾斜 font-style: italic
  fontFamily: undefined,
  lineHeight: undefined,
  textAlign: undefined,
  color: undefined,
}
// 字体
export const fontFamilyOptions = fontFamilyList.map((item) => {
  return {
    ...item,
    label: item.name,
  }
})

// 默认store数据
export const defaultStoreData = {
  pageSetting: {
    width: 1300,
    height: 700,
    title: '大数据可视化看板',
    isGrid: true,
    ...defaultBackgroundAttr,
    globalTitleStyle: {
      ...defaultTitleAttr,
    },
  },
}

// 单位
export const unitOptions = [
  {
    value: 'px',
    label: 'px',
  },
  {
    value: '%',
    label: '%',
  },
]

// 文本对齐
export const textAlignOptions = [
  {
    value: 'left',
    label: '居左',
  },
  {
    value: 'center',
    label: '居中',
  },
  {
    value: 'right',
    label: '居右',
  },
]

// 过滤字段的字段类型在过滤等于条件时对应的type
export const filterTableFieldTypes = {
  STRING: 3,
  INT: 11,
  DATETIME: 22,
  DATETIMES: 17,
}

// export const sizeOptions = [
//   {
//     label: "默认",
//     value: "default"
//   },
//   {
//     label: "小",
//     value: "small"
//   },
//   {
//     label: "大",
//     value: "large"
//   },
// ]

// 边框样式
export const borderStyleOptions = [
  {
    value: 'solid',
    label: '实线',
  },
  {
    value: 'dashed',
    label: '虚线',
  },
]

// 日期格式
export const dateFormatOptions = [
  {
    value: 'YYYY-MM-DD HH:mm:ss',
    label: '年年年年-月月-日日 时时:分分:秒秒',
  },
  {
    value: 'YYYY/MM/DD HH:mm:ss',
    label: '年年年年/月月/日日 时时:分分:秒秒',
  },
  {
    value: 'YYYY-MM-DD',
    label: '年年年年-月月-日日',
  },
  {
    value: 'YYYY/MM/DD',
    label: '年年年年/月月/日日',
  },
  {
    value: 'YYYY',
    label: '年年年年',
  },
  {
    value: 'YYYY-MM',
    label: '年年年年-月月',
  },
]

// 默认日期格式
export const defaultFarmat = {
  valueFormat: 'YYYY-MM-DD HH:mm:ss',
  format: 'YYYY-MM-DD HH:mm:ss',
}

// 下拉框选择模式
export const selectModeOptions = [
  {
    label: '单选',
    value: 'default',
  },
  {
    label: '多选',
    value: 'multiple',
  },
]

// 默认动画属性
export const defaultAnimations = {
  isEnable: false,
  list: [],
  isLoop: false,
}

// 默认组件属性
export const defaultComponent = {
  animations: {
    ...defaultAnimations,
  },
  style: {},
  props: {},
  events: {},
  jump: {
    targetType: 'board',
    openType: 'target',
    isFilter: false,
    source: undefined,
    target: [],
  },
  linkage: {
    source: undefined,
    componentList: [],
  },
}

// 嵌套组件tag
export const nestComponentTags = ['c-tabs']
